package Clases;

import Bots.Robot;
import Bots.Tanque;
import java.util.Random;

import Clases.Bots.Torretas;
import java.awt.Rectangle;
import java.util.ArrayList;

public class Calculos {
    private Jugador jugador;
    private Torretas torreta;
    private Tanque tanques;
    private Robot robot;

    public Jugador getJugador() {
        return jugador;
    }

    public void setJugador(Jugador jugador) {
        this.jugador = jugador;
    }

    public Torretas getTorreta() {
        return torreta;
    }

    public void setTorreta(Torretas torreta) {
        this.torreta = torreta;
    }

    public Tanque getTanques() {
        return tanques;
    }

    public void setTanques(Tanque tanques) {
        this.tanques = tanques;
    }

    public Robot getRobot() {
        return robot;
    }

    public void setRobot(Robot robot) {
        this.robot = robot;
    }
        
    public boolean Interseccion(Rectangle a, Rectangle b) {
        if (a.intersects(b)) {
            return true;
        } else {
            return false;
        }
    }
    
    public void Combate(Jugador jugador, Class bot, int atacante) {
        int vidaJugador = jugador.getPtsVida(), vidaBot = 0;
        int ataqueJugador = jugador.getPtsAtaque(), ataqueBot = 0;
        int defensaJugador = jugador.getPtsDefensa(), defensaBot = 0;
        int criticoJugador = jugador.getPtsCritico(), criticoBot = 0;
        int damage = 0;
        Random random = new Random();

        if (atacante == 0) { //Si el jugador es el atacante
            int posibilidadCritico = random.nextInt(100);
            if (posibilidadCritico <= criticoJugador) { //si es que critico es true
                ataqueJugador += ataqueJugador; //Doblamos el daño
            }
            damage = ataqueJugador - defensaBot;
            vidaBot -= damage;
            //Falta llamar al setter de la vida del bot
        } else if (atacante == 1) { //Si el bot es el atacante
            int posibilidadCritico = random.nextInt(100);
            if (posibilidadCritico <= criticoBot) {
                ataqueBot += ataqueBot;
            }
            damage = ataqueBot - defensaJugador;
            vidaJugador -= damage;
            jugador.setPtsVida(vidaJugador);
        }
    }
}
